package org.haifi.game.service;

import org.apache.mina.core.session.IoSession;
import org.haifi.game.model.GameUser;

/**
 * 
 * @author joycube2
 * 
 */
public interface GameUserManager {
	/**
	 * 创建用户
	 * 
	 * @param username
	 *            用户名
	 * @param password
	 *            密码
	 * @return 新创建的帐号
	 */
	public GameUser createNewUser(String username, String password);

	/**
	 * 重置新密码
	 * 
	 * @param gameUser
	 *            帐号
	 * @param newPassword
	 *            新密码
	 */
	public void resetPassword(GameUser gameUser, String newPassword);

	/**
	 * 根据名字查询密码
	 * 
	 * @param username
	 *            帐号名
	 * @return 帐号
	 */
	public GameUser getByName(String username);

	/**
	 * 将密码进行加密，并返回加密后的字符串
	 * 
	 * @param password
	 *            密码
	 * @return 加密后的字符串
	 */
	public String encodePassword(String password);

	/**
	 * 玩家登陆
	 * 
	 * @param ioSession
	 * @param gameUser
	 * @return TODO
	 */
	public String login(IoSession ioSession, GameUser gameUser);
}
